import './index.scss'
import { Card, Form, Input, Button ,message} from 'antd'
import logo from '@/assets/logo.png'
import { useDispatch } from 'react-redux'
import { useNavigate } from 'react-router-dom'

import { fetchToken } from '@/store/modules/user'
const Login = () => {
    const dispatch = useDispatch()
    const navigate = useNavigate()

    // 提交表单且数据验证成功后回调事件
    const onFinish = (val) => {
        // 调用 fetchToken 获取接口数据
        dispatch(fetchToken(val))
        // 跳转至首页
        navigate('/')
        message.success('登录成功')
    }
    return (
        <div className="login">
            <Card className="login-container">
                <img className="login-logo" src={logo} alt="" />

                {/* 登录表单 */}
                <Form onFinish={onFinish}>
                    {/* 手机号 */}
                    <Form.Item name="mobile" validateTrigger="onBlur" rules={[{ required: true, message: '请输入手机号' }, { pattern: /^1[3-9]\d{9}$/, message: '手机号码格式不对' }]}>
                        <Input size="large" placeholder="请输入手机号" />
                    </Form.Item>

                    {/* 验证码 */}
                    <Form.Item name="code" validateTrigger="onBlur" rules={[{ required: true, message: '请输入验证码' }]} >
                        <Input size="large" placeholder="请输入验证码" maxLength={6} />
                    </Form.Item>

                    <Form.Item>
                        <Button type="primary" htmlType="submit" size="large" block>
                            登录
                        </Button>
                    </Form.Item>
                </Form>
            </Card>
        </div>
    )
}

export default Login